/**
 * 
 */
package santeclair.referentiel.optique.referentiel.webservice.impl;

import org.springframework.stereotype.Service;

import santeclair.lunar.framework.enumeration.AbstractEnumTools;
import santeclair.referentiel.optique.referentiel.enumeration.FonctionEnum;
import santeclair.referentiel.optique.referentiel.webservice.FonctionWebService;

/**
 * @author hpham
 * 
 */
@Service("fonctionWebService")
public class FonctionWebServiceImpl implements FonctionWebService {

    @Override
    public boolean isAudioprothesiste(String fonction) {
        FonctionEnum key = AbstractEnumTools.findEnumValuesByCode(FonctionEnum.class, fonction);

        if (key == null) {
            throw new IllegalArgumentException("La fonction " + fonction + " est inconnue.");
        }

        return FonctionEnum.AUDIOPROTHESISTE.equals(key);
    }

    @Override
    public boolean exist(String fonction) {
        FonctionEnum key = AbstractEnumTools.findEnumValuesByCode(FonctionEnum.class, fonction);
        return key != null ? true : false;
    }

    @Override
    public String findFonctionNameByLibelle(String libelle) {
        FonctionEnum key = AbstractEnumTools.findEnumValuesByLibelle(FonctionEnum.class, libelle);
        return key != null ? key.name() : null;
    }

    @Override
    public String findFonctionLibelleByName(String name) {
        FonctionEnum key = AbstractEnumTools.findEnumValuesByCode(FonctionEnum.class, name);
        return key != null ? key.getLibelle() : null;
    }

}
